#!/usr/bin/env python3
"""
创建示例数据文件
"""

import pandas as pd
import numpy as np
import os

def create_circle_data():
    """创建圆数据示例"""
    data = {
        'x': [10, 15, 20, 25, 30],
        'y': [0, 0, 0, 0, 0],
        'r': [5, 7, 9, 11, 13]
    }
    df = pd.DataFrame(data)
    df.to_excel('data/sample_circles.xlsx', index=False)
    print("已创建圆数据示例文件: data/sample_circles.xlsx")

def create_experimental_data():
    """创建实验数据示例"""
    data = {
        '围压': [0.5, 1.0, 1.5, 2.0, 2.5],
        '抗压强度': [2.1, 3.8, 5.2, 6.9, 8.1]
    }
    df = pd.DataFrame(data)
    df.to_excel('data/sample_experimental.xlsx', index=False)
    print("已创建实验数据示例文件: data/sample_experimental.xlsx")

def create_complex_data():
    """创建复杂数据示例（用于测试数值稳定性）"""
    # 生成一些具有挑战性的数据
    np.random.seed(42)
    n = 10
    
    # 圆数据
    x = np.random.uniform(100, 1000, n)
    y = np.random.uniform(-50, 50, n)
    r = np.random.uniform(10, 100, n)
    
    circle_data = pd.DataFrame({'x': x, 'y': y, 'r': r})
    circle_data.to_excel('data/complex_circles.xlsx', index=False)
    
    # 实验数据
    confining_pressure = np.random.uniform(0.1, 10, n)
    compressive_strength = confining_pressure * np.random.uniform(2, 8, n)
    
    exp_data = pd.DataFrame({
        '围压': confining_pressure,
        '抗压强度': compressive_strength
    })
    exp_data.to_excel('data/complex_experimental.xlsx', index=False)
    
    print("已创建复杂数据示例文件:")
    print("- data/complex_circles.xlsx")
    print("- data/complex_experimental.xlsx")

if __name__ == '__main__':
    # 确保data目录存在
    os.makedirs('data', exist_ok=True)
    
    create_circle_data()
    create_experimental_data()
    create_complex_data()
    
    print("\n所有示例数据文件已创建完成！")
    print("您可以在Web界面中使用这些文件测试导入功能。")
